// 上一次执行 requestAnimationFrame 的时间戳
let lastTime = performance.now();

// 标签页是否活跃
let isTabActive = true;

function checkActivity() {
  // 当前执行时间
  const currentTime = performance.now();

  // 与上一次 requestAnimationFrame 的时间差
  const timeDiff = currentTime - lastTime;

  /**
   * requestAnimationFrame 在页面非活跃（如切到后台标签页）时：
   *    - 不再每帧调用（通常暂停）
   *    - 或会延迟到很久后再触发
   * 所以我们通过 timeDiff 是否大于阈值（如 1000ms）来判断：
   */
  if (timeDiff > 1000) {
    isTabActive = false;
    console.log('标签页可能处于非活动状态');
  } else {
    isTabActive = true;
  }

  // 更新 lastTime
  lastTime = currentTime;

  // 下一帧继续检测
  requestAnimationFrame(checkActivity);
}

// 启动检测
checkActivity();
